/**
 * Candidate number: 35834
 */
package tv.starfu.systems;

import com.artemis.ComponentMapper;
import com.artemis.Entity;
import com.artemis.EntityProcessingSystem;
import com.jme3.app.SimpleApplication;
import com.jme3.input.ChaseCamera;
import com.jme3.input.FlyByCamera;
import tv.starfu.components.AnimaSpatial;
import tv.starfu.components.ChaseCam;
import tv.starfu.components.RainbowWarrior;
import tv.starfu.components.Transform;

/**
 * ChaseCam angle is calculated and Transform modulated to ensure mutual direction.
 * @author nia radical
 */
public class CameraSystem extends EntityProcessingSystem {

    // Pass in App/State/Nodes
    private ComponentMapper<ChaseCam> chaseCamMapper;
    private ComponentMapper<RainbowWarrior> playerMapper;
    private ComponentMapper<Transform> transformMapper;
    private SimpleApplication app;
    private ChaseCamera chaseCamera;
    
    public CameraSystem(SimpleApplication app) {
        super(ChaseCam.class, AnimaSpatial.class);
        this.app = app;
       
    }
    
    @Override
    public void initialize() {
        chaseCamMapper = new ComponentMapper<ChaseCam>(ChaseCam.class, world);
        playerMapper = new ComponentMapper<RainbowWarrior>(RainbowWarrior.class, world);
        transformMapper = new ComponentMapper<Transform>(Transform.class, world);
   
    }
    
    @Override
    protected void process(Entity e) {
        //ChaseCam chaseCam = chaseCamMapper.get(e);
        
        
    }
}
